数字 PID 控制器

数字控制器
模拟式PID控制器

一、数字 PID 算法

u(t)=Kp[e(t)+1Ti0te(τ)dτ+Tdde(t)dt]D(s)=U(s)E(s)=Kp(1+1Tis+Tds){u(t)u(k)e(t)e(k)0te(τ)dτj=0ke(j)Tde(t)dte(k)e(k1)T

1. 位置式 PID 算法

u(k)=Kpe(k)+Kij=0ke(j)+Kd[e(k)e(k1)]

稳态精度高
直观易于理解
计算量大
积分饱和

2. 增量式 PID 算法

Δu=u(k)u(k1)=Kp[e(k)e(k1)]+Kie(k)+Kd[e(k)2e(k1)+e(k2)]=(Kp+Ki+Kd)e(k)(Kp+2Kd)e(k1)+Kde(k2)

无积分环节积累,可能存在一定误差

两种 PID 形式的优缺点

3. 一般 PID 算法的离散化

一般常用模拟控制器离散化#二、差分变换法 ,用后向差分,或双线性差分
并写为控制器的形式

二、改进的数字 PID 算法

Pasted image 20250424010547.png

1. 积分分离算法

在系统误差较大时,取消积分作用;当误差减小到一定值时,再重新积分。e0 为积分分离阈值
|e(k)|e0 采用 PID 控制,保证稳态误差为 0
|e(k)|>e0 采用 PD 控制,大幅度减小超调量

u(k)=Kp[e(k)+TTii=0ke(i)+TdT(e(k)e(k1))]i=0ke(i)={i=0ke(i)|e(k)|e0i=0k1e(i)|e(k)|>e0

抗饱和积分算法

输出限幅,输出超限时不积分

i=0ke(i)={i=0ke(i)uminu(k)umaxi=0k1e(i)umin>u(k)oru(k)>umax

遇限削弱算法

i=0ke(i)={i=0ke(i){|u(k)|u0u(k)>u0ande(k)<0u(k)<u0ande(k)>0i=0k1e(i){u(k)>u0ande(k)>0u(k)<u0ande(k)<0

不完全微分

纯微分环节对噪声很敏感

可以串接一个惯性环节来抑制高频影响

Gf=1Tfs+1=U(s)U1(s)Tfdu(t)dt+u(t)=u1(t)Tfu(k)u(k1)T+u(k)=u1(k)u(k)=TfTf+Tu(k1)+TTf+Tu1(k)

微分先行

Pasted image 20250420145831.png

输出量微分:只对输出量进行微分,避免因给定值变化给控制系统带来超调量过大、调节阀动作剧烈的冲击
偏差量微分:对给定值和输出量均微分

控制器的正反作用实现:
反作用:e=ry
正作用:e=yr

带死区的 PID

e(k)={e(k)|e(k)|>e00|e(k)|e0